package com.example.ddz.framework;

/**
 * Created by IntelliJ IDEA.
 * User: Marcel Melzig
 * Date: 19.07.11
 * Time: 20:30
 */

/**
 * @author Marcel Melzig
 * @version 0.0.1
 */
public interface IMusic
{
    /**
     * Plays music.
     */
    public void Play();

    /**
     * Stops the music playback.
     */
    public void Stop();

    /**
     * Pauses the playback.
     */
    public void Pause();

    /**
     * Sets a value defines whether the music should be looped or not.
     *
     * @param looping true if the music should play in a loop, otherwise false.
     */
    public void SetLooping(boolean looping);

    /**
     * Sets the volume of the music.
     *
     * @param volume The volume.
     */
    public void SetVolume(float volume);

    /**
     * Returns a boolean whether the music is playing or not.
     *
     * @return true if music is playing, otherwise false.
     */
    public boolean IsPlaying();

    /**
     * Returns a boolean whether the music is stopped.
     *
     * @return true if the music is stopped, otherwise false.
     */
    public boolean IsStopped();

    /**
     * Returns a boolean whether the music is looping.
     *
     * @return True if the music is looping, otherwise false.
     */
    public boolean IsLooping();

    /**
     * Disposes this instance.
     */
    public void Dispose();
}
